// 测试for循环中的变量修改是否能够传回外部作用域
console.log("测试for循环作用域:");
var x = 0;
for (var i = 0; i < 5; i = i + 1) {
  x = i * 2;
}
console.log("for循环后 x =", x); // 应该输出 x = 8

// 测试for循环中的break语句
console.log("\n测试for循环中的break:");
var y = 0;
for (var i = 0; i < 10; i = i + 1) {
  y = i;
  if (i >= 3) {
    break;
  }
}
console.log("break后 y =", y); // 应该输出 y = 3

// 测试while循环中的变量修改
console.log("\n测试while循环作用域:");
var z = 0;
var j = 0;
while (j < 5) {
  z = j * 3;
  j = j + 1;
}
console.log("while循环后 z =", z); // 应该输出 z = 12

// 测试while循环中的break语句
console.log("\n测试while循环中的break:");
var w = 0;
var k = 0;
while (k < 10) {
  w = k;
  if (k >= 4) {
    break;
  }
  k = k + 1;
}
console.log("break后 w =", w); // 应该输出 w = 4

// 测试嵌套循环
console.log("\n测试嵌套循环:");
var outer = 0;
var inner = 0;
for (var i = 0; i < 3; i = i + 1) {
  outer = i;
  for (var j = 0; j < 3; j = j + 1) {
    inner = j;
    if (i === 1 && j === 1) {
      break;
    }
  }
}
console.log("嵌套循环后 outer =", outer, "inner =", inner);

// 测试continue语句
console.log("\n测试continue语句:");
var sum = 0;
for (var i = 0; i < 5; i = i + 1) {
  if (i === 2) {
    continue;
  }
  sum = sum + i;
}
console.log("使用continue的循环后 sum =", sum); // 应该输出 sum = 8 (0+1+3+4) 